// 入口文件
const express=require("express");

const path=require("path");

// require引入某个JS文件，JS文件中的代码就会执行，暴露是看需要的，数据库只需要执行代码不需要暴露出来
require("./db")



// 创建express应用
const app=express();


// 引入外部路由
const addAdminRoute=require("./routes/addAdmin");
const adminListRoute=require("./routes/adminList");
const deleteAdminRoute=require("./routes/deleteAdmin");
const loginRoute=require("./routes/login");
const isLogin=require("./routes/isLogin");
const logout=require("./routes/logout");
const addAdv=require("./routes/addAdv");
const advList=require("./routes/advList");
const deleteAdv=require("./routes/deleteAdv");
const getUpdateData=require("./routes/getUpdateData");
const updateAdv=require("./routes/updateAdv");

//处理post请求体的中间件,会在req上添加一个body属性,值是请求体参数参数
app.use(express.urlencoded());
app.use(express.json());

// 暴露静态资源中间件文件夹
app.use("/upload",express.static(path.resolve(__dirname,"./upload")))

// 使用路由  把路由挂载在app应用上
// 新增管理员的路由
app.use(addAdminRoute);
// 查看管理员页面的路由
app.use(adminListRoute)
// 删除管理员的路由
app.use(deleteAdminRoute)
// 登录页面的路由
app.use(loginRoute)
// 主要是为了书写一个接口,使用我们封装好的权限验证中间件
app.use(isLogin)
// 退出登录的路由
app.use(logout)
// 添加广告的路由
app.use(addAdv)
// 获取广告列表的路由
app.use(advList)
// 删除广告图片的路由
app.use(deleteAdv)
// 获得更新查询信息的路由
app.use(getUpdateData)
// 更新广告的接口,
app.use(updateAdv)






// 监听端口
app.listen('8000',()=>{
  console.log("服务器启动成功  http://127.0.0.1:8080")
})

